﻿using System;
using System.Collections.Generic;

namespace Ue.Eagle.Runtime.FileSystems.Dependencies
{
    public class ActivatedPluginDescriptor
    {
        public string PluginId { get; set; }
        public string LoaderName { get; set; }
        public string VirtualPath { get; set; }
        public string Hash { get; set; }
    }

    /// <summary>
    /// 插件的编译信息（~/App_Data/Dependencies/Dependencies.compiled.xml）
    /// </summary>
    public interface IPluginDependenciesManager
    {
        void StoreDependencies(IEnumerable<DependencyDescriptor> dependencyDescriptors, Func<DependencyDescriptor, string> fileHashProvider);

        IEnumerable<string> GetVirtualPathDependencies(string pluginId);

        ActivatedPluginDescriptor GetDescriptor(string pluginId);
    }
}
